﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace AnaxibiaStudios.Smug.Internal
{
  public class ConstructorInfoEx : MemberInfoEx<ConstructorInfo>
  {
    public ConstructorInfoEx(MemberCollection parent, ConstructorInfo ctor)
      : base(parent, ctor)
    {
      SetModifiers(ctor);
      Access = ParseAccess(ctor);
      SetParameters(typeof(void), ctor.GetParameters());
    }

    public override PreexistingType Hit(MemberInfoEx ex)
    {
      return PreexistingType.New; // nothing can conflict with a ctor
    }

    public override string BuildBody()
    {
      return string.Empty;
    }

    protected override bool MatchesNonOverload(MemberInfoEx that)
    {
      throw new NotImplementedException();
    }

    protected override bool IsOverloadable()
    {
      throw new NotImplementedException();
    }
  }
}
